// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package org.achartengine.chart; import android.graphics.Canvas; import android.graphics.Paint; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.achartengine.model.XYMultipleSeriesDataset; import org.achartengine.model.XYSeries; import org.achartengine.renderer.XYMultipleSeriesRenderer; // Referenced classes of package org.achartengine.chart: // LineChart public class TimeChart extends LineChart { public static final long DAY = 0x5265c00L; public static final String TYPE = "Time"; private String a; private Double b; TimeChart() { } public TimeChart(XYMultipleSeriesDataset xymultipleseriesdataset, XYMultipleSeriesRenderer xymultipleseriesrenderer) { super(xymultipleseriesdataset, xymultipleseriesrenderer); } private DateFormat a(double d, double d1) { if (a == null) goto _L2; else goto _L1 _L1: Object obj = new SimpleDateFormat(a); _L4: return ((DateFormat) (obj)); Exception exception; exception; _L2: obj = SimpleDateFormat.getDateInstance(2); double d2 = d1 - d; if (d2 > 86400000D && d2 < 432000000D) { return SimpleDateFormat.getDateTimeInstance(3, 3); } if (d2 < 86400000D) { return SimpleDateFormat.getTimeInstance(2); } if (true) goto _L4; else goto _L3 _L3: } protected void drawXLabels(List list, Double adouble[], Canvas canvas, Paint paint, int i, int j, int k, double d, double d1, double d2) { int l = list.size(); if (l > 0) { boolean flag = mRenderer.isShowLabels(); boolean flag1 = mRenderer.isShowGridY(); DateFormat dateformat = a(((Double)list.get(0)).doubleValue(), ((Double)list.get(l - 1)).doubleValue()); for (int i1 = 0; i1 < l; i1++) { long l1 = Math.round(((Double)list.get(i1)).doubleValue()); float f = (float)((double)i + d * ((double)l1 - d1)); if (flag) { paint.setColor(mRenderer.getXLabelsColor()); canvas.drawLine(f, k, f, (float)k + mRenderer.getLabelsTextSize() / 3F, paint); drawText(canvas, dateformat.format(new Date(l1)), f, (float)k + (4F * mRenderer.getLabelsTextSize()) / 3F + mRenderer.getXLabelsPadding(), paint, mRenderer.getXLabelsAngle()); } if (flag1) { paint.setColor(mRenderer.getGridColor()); canvas.drawLine(f, k, f, j, paint); } } } drawXTextLabels(adouble, canvas, paint, true, i, j, k, d, d1, d2); } public String getChartType() { return "Time"; } public String getDateFormat() { return a; } protected List getXLabels(double d, double d1, int i) { ArrayList arraylist = new ArrayList(); if (!mRenderer.isXRoundedLabels()) { if (mDataset.getSeriesCount() > 0) { XYSeries xyseries = mDataset.getSeriesAt(0); int l = xyseries.getItemCount(); int i1 = 0; int j1 = -1; for (int k1 = 0; k1 < l; k1++) { double d7 = xyseries.getX(k1); if (d > d7 || d7 > d1) { continue; } i1++; if (j1 < 0) { j1 = k1; } } if (i1 < i) { for (int j2 = j1; j2 < j1 + i1; j2++) { arraylist.add(Double.valueOf(xyseries.getX(j2))); } } else { float f = (float)i1 / (float)i; int l1 = 0; for (int i2 = 0; i2 < l && l1 < i; i2++) { double d6 = xyseries.getX(Math.round(f * (float)i2)); if (d <= d6 && d6 <= d1) { arraylist.add(Double.valueOf(d6)); l1++; } } } return arraylist; } else { return super.getXLabels(d, d1, i); } } if (b == null) { b = Double.valueOf(86400000D + (d - d % 86400000D) + (double)(1000 * (60 * (new Date(Math.round(d))).getTimezoneOffset()))); } if (i > 25) { i = 25; } double d2 = (d1 - d) / (double)i; if (d2 <= 0.0D) { return arraylist; } double d3 = 86400000D; if (d2 <= 86400000D) { for (; d2 < d3 / 2D; d3 /= 2D) { } } else { for (; d2 > d3; d3 *= 2D) { } } double d4 = b.doubleValue() - d3 * Math.floor((b.doubleValue() - d) / d3); int j = 0; double d5 = d4; do { if (d5 >= d1) { break; } int k = j + 1; if (j > i) { break; } arraylist.add(Double.valueOf(d5)); d5 += d3; j = k; } while (true); return arraylist; } public void setDateFormat(String s) { a = s; } }